This documentation is a work in progress, covering an application that is also still a work in progress, and is subject to change.

BOSS

Contents

  1. Introduction
  2. Installation & Uninstallation
  3. Using BOSS
    1. Sorting Plugins
    2. The Results Report
    3. Customising BOSS's Results
    4. Editing Settings
  4. Troubleshooting
  5. Contributing To BOSS
  6. Translating BOSS
  7. Credits
  8. Project Members
  9. License
  10. Appendices
    1. Introduction To Load Orders
    2. Dirty Edits, Mod Cleaning & CRCs
    3. File Permissions
  11. Version History
  12. Metadata Syntax (separate document)

Introduction

BOSS is a plugin load order optimiser for TES IV: Oblivion, TES V: Skyrim, Fallout 3 and Fallout: New Vegas. It is designed to assist mod users in avoiding detrimental conflicts, by automatically calculating a load order that satisfies all plugin dependencies and maximises each plugin's impact on the user's game.

BOSS also provides some load order error checking, including checks for requirements, incompatibilities and cyclic dependencies. In addition, it provides a large number of plugin-specific usage notes, bug wawrnings and Bash Tag suggestions.

Although BOSS is able to calculate the correct load order positions for the vast majority of mods without any user input, some plugins are designed to load at certain positions in a load order, and BOSS may be unable to determine this from the plugins themselves. As such, BOSS provides a mechanism for supplying additional plugin metadata so that it may sort them correctly.

BOSS is intended to make using mods easier, and mod users should still possess a working knowledge of mod load ordering. See Introduction To Load Orders for an overview.

Note: BOSS version 3 is an almost complete redesign and rewrite of v2. As such, it generally produces different load orders compared to v2. Although much of the v2 masterlist data has been converted for v3, some load order metadata must be rebuilt from scratch, and so some plugins that were sorted correctly by v2 may be sorted incorrectly by v3 until their metadata has been recorded. Users can aid this process by submitting any mistakes they spot to the BOSS team, along with their corrections.

Installation & Uninstallation

BOSS version 3 is incompatible with earlier versions, which should be removed. Any existing user rules must be manually recreated in BOSS's user interface.

BOSS can be installed either using its automated installer or manually. To install BOSS manually:

  1. Extract the downloaded archive to a location of your choice.

If BOSS was installed using the installer, then use the uninstaller linked to in the Start Menu to uninstall BOSS. If BOSS was installed manually:

  1. Delete the files you extracted from the location you chose.
  2. Delete the BOSS folder in your local application data folder, which can be accessed by entering %LOCALAPPDATA% into Windows' File Explorer.

Using BOSS

When BOSS is run, it will attempt to detect which of the supported games are installed, and set itself to run for the first game detected, unless a default game has been set, in which case it will set itself to run for that game. Once a game has been set, the main window will be displayed.

BOSS's main window
BOSS's main window. The title bar displays which game BOSS is running for.

Clicking the Edit Metadata button will open BOSS's metadata editor, where you can make changes to the metadata BOSS uses to sort plugins, the messages that get displayed for plugins, and any Bash Tag suggestions BOSS makes.

Clicking the Sort Plugins button will begin the plugin sorting process. This will sort your plugins, allow you to make any changes to the load order it produces, then display a report that details the results of BOSS's activity.

Clicking the View Last Report button will display the report generated the last time BOSS sorted your plugins.

The File menu provides menu items for sorting plugins, viewing the last report BOSS generated and quitting BOSS, while the Edit menu provides menu items for accessing BOSS's metadata editor and the settings window.

The Game menu allows you to change which game BOSS is running for without having to close and re-open it. Games that BOSS cannot find are greyed out, and the the one BOSS is running for is marked with a dot to its left. To change the active game, simply select another game in the list.

The Help menu provides a link to this readme and an about page that contains the version of BOSS being run, some legal information and a link to the code repository.

Sorting Plugins

Editing BOSS's calculated load order.

Clicking the Sort Plugins button in the main window will begin the sorting process, which consists of the following steps:

  1. Provided that masterlist updating is enabled and that an online masterlist URL is set, BOSS checks for updates to its masterlist and downloads any that are available. If there are any syntax errors in the latest masterlist (due to human error by its maintainers), the updater rolls back one version at a time until it finds a version that works. If any other errors are encountered, updating is cancelled. Details of any errors encountered will be supplied in BOSS's report.
  2. The game's Data folder is scanned for plugins, including those ghosted by Wrye *ash. The contents of each plugin are read to obtain data such as: whether or not it is a master file; the FormIDs of the records it contains; what its masters are; any Bash Tags that are applied; and any version number it has been given in its description.
  3. The masterlist and userlist are read. Any errors encountered will be detailed in BOSS's report.
  4. For each plugin, any userlist data present is merged down to any masterlist data present, which is then in turn combined with the data read from the plugin.
  5. For each plugin, any data conditions are evaluated and irrelevant data discarded. Any errors encountered during evaluation will be detailed in BOSS's report.
  6. Checks are performed to ensure that all dependencies are present in the game's Data folder, and that no incompatibilities are present. If a dependency is missing or an incompatibility is present, an error message will be displayed in BOSS's report.
  7. A directed graph of all the plugins and their interactions is built.
  8. If it is enabled, an SVG image of the graph is generated for display in the report.
  9. The graph is checked to ensure that it is acyclic, ie. that it contains no cyclic dependencies or similar. If any cycles are found, sorting is aborted, and the cycles will be detailed in BOSS's report.
  10. A load order is produced by performing a topological sort of the graph.
  11. The dialog shown above is displayed, allowing you to move plugins up or down the load order. The dialog allows multiple plugins to be selected and moved at once.
  12. If the OK button is pressed, the final load order will be applied. Otherwise, no load order changes will be made.
  13. BOSS's report will be generated and displayed either in a new window or in your default browser, according to the value of the relevant setting. See the next section for more information on the report.

Sorting around 90 plugins generally takes under 30 seconds, depending on the sizes of the plugins that are installed. For very large plugins, such as the game's main master file, BOSS may appear to stop responding while the plugin is read: this is not an issue.

The Results Report

BOSS's report viewer.

BOSS's results report can be displayed either in BOSS's own report viewer, or in your default web browser, according to the value of the relevant setting.

The report is comprised of three main sections:

In addition, there are a few filters that can be used to selectively hide items in the Details tab. These filters are:

BOSS will display the version numbers of any plugins that provide them in their description fields. If a plugin supplies no version number, it cannot be displayed. The version numbers may not reflect the actual version of the mod installed - this could either be due to the mod author forgetting to update the description, or due to a mistake in BOSS's detection. As version numbers are supplied by mod authors in a wide range of formats and BOSS has to detect as many as possible, it occasionally identifies parts of some descriptions as version numbers incorrectly. When in doubt, check the version number given in a mod's readme.

BOSS's mod messages are one of the most important features BOSS provides, acting as a means of providing users with information that they might otherwise not obtain. It is important for a stable, healthy game that you act on any messages that require action.

If you think a message suggests an unnecessary action, report it to an official BOSS thread. If you encounter a message that is non-conditional, ie. it suggests an action but is still displayed on subsequent runs of BOSS after the action has been carried out, or that it suggests an action that is not necessary, also report it to an official BOSS thread, so that it can be made conditional.

Customising BOSS's Results

BOSS's metadata editor.

BOSS's sorting algorithm uses the contents of plugins to work out where they should load relative to one another. However, this is sometimes not enough for it to produce a correct load order. In such cases, additional metadata can be supplied so that the plugins get sorted correctly.

This metadata is supplied to BOSS by two sources: one is the masterlist, which is maintained by the BOSS team, and the other is the userlist, which you can edit as you desire.

The metadata editor allows you to manage the metadata stored in your userlist. When opened, it lists all the plugins you have installed, and any that are missing but have existing user-added metadata, in alphabetical order. Clicking on a plugin then opens its metadata for editing, and displays any existing metadata in the fields to the right of the plugin list. These fields are explained in the table below.

The Add …, Edit … and Remove … buttons are used to edit the contents of the list currently visible. The Edit … and Remove … buttons are greyed out if no row is selected or if the selected row is not user-added metadata, but comes from the masterlist or the plugin itself. Metadata that comes from the masterlist or the plugin itself cannot be edited or removed, only added to. This is to prevent users from accidently overriding important metadata.

The Copy Metadata As Text copies the selected plugin's current metadata, as it appears in the userlist, to the clipboard. This makes it easier to share your metadata changes with the BOSS team, as they can then paste this text directly into the masterlist, and also avoids any typos being introduced. If posting the text in an online forum that supports BBCode (as most forums do), be sure to wrap it in [code] tags, eg. [code]copied text[/code], so that the spaces are not removed by the forum software.

The Save Changes button will save any user-added metadata to your userlist, including any changes made, then exit the metadata editor. The Cancel button will exit the editor without saving any changes.

FieldDescription
Enable User ChangesIf this is checked, BOSS will use the metadata you supplied when sorting the current plugin. Otherwise, your metadata will be ignored.
PriorityThis is a very rough control for determining how far up or down the load order a plugin should go. Plugins with equal priority will be compared as normal by the sorting algorithm, but plugins with a larger priority value will load later in the load order than plugins with a smaller priority value, unless the former depends on the latter or the latter is explicity told to load after the former. Plugins have a default priority of 0.
RequirementsThis is a list of files that are required by the current plugin for it to function correctly. BOSS will refuse to sort your load order if any of the listed files are missing, and will instead display an error message detailing the problem.

Any file, not just plugins, can be listed here, and each file has three sub-fields:

  • The filename is the path, relative to the game's Data folder, of the file to be checked for. This sub-field is required.
  • The display name is optional, and if specified will be used instead of the filename in any error messages that are displayed if a problem is encountered relating to the file.
  • The condition is the optional condition string that is used to determine if the file should be checked for. If left blank, the file will always be checked for. Condition strings are a relatively advanced part of BOSS's functionality, and their syntax is covered in the Metadata File Syntax documentation.

Note that listing a plugin's masters as requirements is pointless, as BOSS already checks them.

IncompatibilitiesThis is a list of files that are incompatible with the plugin. BOSS will refuse to sort your load order if any of the listed files are found, and will instead display an error message detailing the problem.

Any file, not just plugins, can be listed here, and each file has the same three sub-fields as for the requirements field.

Load AfterThis is a list of plugins which, if present, the current plugin must load after, but which are not required. This field can be used for resolving specific compatibility issues.
MessagesA list of messages that are to be displayed for the plugin in BOSS's report. These have no bearing on a plugin's position in the load order, but the messages BOSS provides for plugins are one of its most important features.

Each message has four sub-fields:

  • The type is fairly self-explanatory, and is used to provide messages of varying severity with appropriate emphasis in BOSS's report.
  • The content is the actual message text.
  • The condition is, like for the corresponding file sub-field, used to determine if the message should be displayed. If left blank, the message is displayed.
  • The language is the language BOSS runs in that the message will be displayed for. For example, if the message language is set to English and BOSS is running in German, then the message will not be displayed. If left unspecified, the message will be shown no matter what language BOSS is running in.

If a message's condition determines that the message should be displayed, but the language is specified and doesn't match the language BOSS is running in, then the message will not be displayed. However, if the condition determines the message should not be displayed and the language matches the language BOSS is running in, the message will still not be displayed.

Bash TagsA list of Bash Tags. These are used by the Wrye *ash utilities when generating a Bashed Patch. BOSS's metadata includes Bash Tag addition and removal suggestions, and any Bash Tags that came with the plugin are also displayed.

As BOSS can suggest Bash Tags be added or removed, it is possible for the same Tag to appear twice, being suggested for addition and removal. In such cases, removal overrides addition.

Each Bash Tag has three sub-fields:

  • The state determines whether the Tag is to be suggested for addition or removal.
  • The name is the actual Bash Tag name.
  • The condition decides if the Tag is to be suggested or not. It functions as for files and messages.

If a plugin's masters are missing, an error message will be displayed for it. Filter patches are special mods designed for use with a Bashed Patch that do not require all their masters to be present, and so any plugin with the Filter tag applied and missing masters will not cause any errors to be displayed.

Editing Settings

BOSS's settings window.

BOSS's settings window may be accessed by clicking Edit→Settings in the main window's menu bar. BOSS's settings are detailed in the table below.

SettingDescription
Default GameIf set to something other than Autodetect, this overrides game autodetection. If the game specified is not detected, BOSS falls back to autodetection.
LanguageControls the language BOSS uses in its interfaces. Debug messages are always displayed in English, and any plugin messages that do not have translations in the selected language will be displayed in English instead.
Debug VerbosityControls the verbosity of the debug output, which is written to BOSSDebugLog.txt.
Update masterlist before sortingIf checked, BOSS will update its masterlist, should an update be available, before sorting mods.
View reports externally in default browser.If checked, BOSS will display its report using your default web browser instead of opening its own window.
Generate and display plugin graph images.If checked, BOSS will generate an SVG image of the plugin interaction graph and display it in its report. Image generation can take a long time, so this is disabled by default.

The games list allows the customisation of which games BOSS offers support for, trivialising support for multiple copies of a game and Total Conversions. The games listed here will be displayed in the main window's Game menu when BOSS is next run. The Add Game, Edit Game and Remove Game buttons are used to edit the list. Each game has several columns, which are explained below.

ColumnDescription
NameThe name of the game, or another identifying string, that is displayed in menus and the main window's title bar.
Base Game TypeEvery game BOSS runs for must use the plugin file format and load order system of one of the following games:
  • TES IV: Oblivion
  • TES V: Skyrim
  • Fallout 3
  • Fallout: New Vegas
BOSS Folder NameThe sub-folder which BOSS uses to store the game's files in. Each game must be given a unique sub-folder.
Master FileThe game's main master file. This is specified as it must load before all other plugins. Note that Skyrim-based games will always load Skyrim.esm first, so this column must always be set to Skyrim.esm for such games.
Online Masterlist URLThe URL of the online masterlist that BOSS uses to update its local copy. If set to an empty string, masterlist updating will be skipped.
Install PathThe path to the game's folder, in which the Data folder lies.
Install Path Registry KeyThe registry key, in HKEY_LOCAL_MACHINE, that contains the install path of the game. This may be used to obtain the install path of a game the first time BOSS runs for it.

Note that for Skyrim, multiple copies or Total Conversions will all edit the same plugins.txt file, and so they lack the level of independence that is achievable for other games.

Troubleshooting

If BOSS encounters a problem at any point, it should provide an error message, either in a dialog (as is generally the case) or in its report (as for errors encountered during the sorting process). If BOSS unexpectedly crashes, or you experience a problem for which no error message is given, please report the crash or problem to an official BOSS thread (see Contributing To BOSS), so that it can be fixed.

If the information below does not help you to solve any problems you are experiencing, please seek further support in one of the official BOSS threads.

There are a few general reasons why BOSS may fail to function correctly. Check if any of the symptoms listed below fit your issue.

No change in load order.
Make sure that you aren't using another utility to lock your load order.
Some plugins have the wrong or no version number given in the BOSS Log.
No solution.
You get an error message of the form There is a problem sending the command to the program.
Windows sometimes does this when it tries to open files in their default application. If you're sure that you have a default program for HTML files set, restarting your computer generally fixes the issue.
A game is installed, but BOSS cannot detect it.
The game's Registry entry is missing. This happens to a lot of people, because Steam likes to remove it whenever the game is updated or its game cache is verified. Run the game's launcher to add the Registry entry back again.

Contributing To BOSS

User contribution of additions and corrections to BOSS's masterlists are vital to the upkeep of BOSS. Please let us know what you know!

General discussion and the submission of questions, suggestions and metadata takes place in BOSS's official threads for Oblivion, Nehrim, Skyrim, Fallout 3 and Fallout: New Vegas.

Notifications of dirty plugins are very welcome, but for such information to be useful we require:

Translating BOSS

BOSS supports translation into other languages, with the following limitations:

Translations can be submitted for inclusion into BOSS as an issue in BOSS's Google Code bug tracker, by posting it in one of BOSS's official threads (see Contributing To BOSS), or by contacting one of the BOSS team directly (see Project Members). Submitting your translation to BOSS's bug tracker requires a Google account, but is the preferred method.

To translate BOSS's installer:

  1. Download the installer script.
  2. Open the downloaded installer script in a text editor of your choice.
  3. The English strings are located in the section with the heading English Strings. Copy and paste this section into a new text file, and translate the quoted strings, replacing the English text. For the lines beginning VIAddVersionKey, only translate the second quoted string.
  4. Save the text file containing your translated strings.
To translate the BOSS application:
  1. Download and install the latest version of Poedit.
  2. Download BOSS's translation template file.
  3. If you are updating an existing translation, download the relevant translation file for the language you're interested in:
  4. Open Poedit and select File->Preferences, then in the Editor tab ensure that the checkbox for the Automatically compile .mo file on save setting is checked. Click OK to close the preferences window.
  5. If you are starting a new translation, select File->New catalogue from POT file... and choose the template file you downloaded. In the Catalog properties dialog, just click OK without changing anything.
  6. If you are updating a previous translation, open the translation file you downloaded in Poedit, then select Catalogue->Update from POT file... and choose the template file you downloaded. Click OK in the Update summary dialog.
  7. Edit the translation file to add or update translations of the programs' text. Strings that were added since the last translation are displayed in bold and dark blue, and strings you have edited the translations of are marked with a star to the left of their source text in the main list.

    Some languages may use different words or phrases for different contexts where only one word or phrase may be used for all contexts in English. While no contextual information is supplied to translators by default, it can be added on request. To request the addition of contextual information to a text string, contact WrinklyNinja, quoting the structure that contains the string for which you are requesting contextual information.

    Some strings to be translated may contain special characters. Different types of special character that may be encountered are:

  8. Save the translation file with the filename messages.po in a location of your choosing. This will also create a messages.mo file in the same location.

Credits

As BOSS is very much a community project, credit is due to a very large number of sources and people outside of the BOSS Development Team. Some people have gone out of their way and provided continuing, expert and detailed help - thank you very much!

In addition to the above data-related support, the following are credited with application-related support:

BOSS is written in C/C++ and makes use of Subversion and the Alphanum, Boost, libespm, libloadorder, PugiXML, svgweb, wxWidgets and yaml-cpp libraries. BOSS's reports are written in XHTML/CSS/Javascript and make use of Polyfill.js to provide Internet Explorer 8 compatibility. Copyright license information for all these may be found here.

Project Members

Since June 2009, BOSS has been a collaborative project on Google Code using the Subversion version control system. In alphabetical order, the project members are:

MemberAdminProgrammerMasterlists Member Contributes To
OblivionNehrimFallout 3Fallout: New VegasSkyrim
AliTheLord
Arkangel(Krhanal on Nexus)
Arthmoor
Calen Ellefson(Bethesda Softworks only)
Gabba(Bethesda Softworks only)
iyumichan
Leandro Conde(Bethesda Softworks only)
Loucifer(Linmor on Nexus)
Malonn
PacificMorrowind
Peste(ztrathego on Nexus)
Psymon(Bethesda Softworks only)
Random007
Red Eye(redeye85 on Nexus)
RiddlingLynx(Nexus only)
Sharlikran
SilentSpike(SilentSpike69 on Nexus)
Skyline(skyline99 on Nexus)
Space Oden69(SpaceOden on Nexus)
Televator
Tokc.D.K.(Bethesda Softworks only)
Torrello
Vacuity
Valda
WrinklyNinja
ZiggyX200

Members with greyed-out rows are currently inactive, with no contributions in the three months before release of this version of BOSS. Unless otherwise noted, project members can be contacted on the Bethesda Softworks Forums or on The Nexus Forums via the private messaging system.

License

BOSS is distributed under the GNU General Public License v3.0, aside from the documentation, which is distributed under the GNU Free Documentation License v1.3. The full texts of the licenses are included with BOSS in the accompanying GNU GPL v3.txt and GNU FDL v1.3.txt files.

While the GPL license allows anyone to make derivative works of BOSS, the BOSS Development Team encourages those thinking of doing so to first discuss their reasoning for such an endevour with the Team. It may be that what the derivative work would do differently from BOSS itself is already planned for a future version of BOSS or would be happily integrated into BOSS by the Team, thus avoiding any extra effort by others.

The BOSS Team also appeals to the community to avoid the distribution and development of alternative masterlists, as this would only hamper the community effort to create one universally-optimised load order for all plugins available for download. Any issues with a masterlist are best brought to the attention of the BOSS Team so that we may remedy them ourselves.

GNU Free Documentation License Version 1.3 Notice:

Copyright (C) 2012-2013 WrinklyNinja
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the file named "GNU FDL v1.3.txt".

Appendices

Introduction To Load Orders

This appendix provides a general overview of load ordering in the games BOSS supports for those who are unfamiliar with the concept. For simplicity, the game will be used when the text refers to any of the games that BOSS supports.

Mod plugins for the game are files that end in .esp or .esm. These files are created by the game's official editing tools, or by third party modders' tools. They contain various data entries, which can either be brand new additions or changes to the entries added by another plugin, including the game's main master file (Oblivion.esm, Nehrim.esm, Skyrim.esm, Fallout3.esm or FalloutNV.esm depending on the game). These entries cover almost all aspects of what is in the game, eg. NPCs, items, races, interiors, worlds, quests, etc.

When the game is run, it loads each of the plugins you have installed one by one. The order in which it loads them is, unsurprisingly, what is referred to as the load order. The load order is important for two reasons:

A plugin which changes the entries added by other plugins is dependent on those other plugins, and the game requires all of the latter plugins to be loaded before the former. If they aren't, the game will crash on launch.

The game can only apply one version of any one entry (this is known as the rule of one). Therefore, when more than one plugin changes the same entry, the load order is used to decide which plugin's changes are applied. Put simply, the last loaded plugin's changes are applied. The one exception to the rule of one is that the contents of cells (the physical space in which your character moves) can be changed by any number of plugins, so different plugins can add objects to cells, move them around or remove them and all will see their changes applied by the game.

By changing the load order, you can change which plugins override and which are overridden, and so reduce detrimental conflicts. You cannot actually reduce how much is overridden through load order alone, but it is often the case that some overrides are acceptable while others cause problems in game. Setting a good load order is the process by which you seek to maximise the former instead of the latter.

Further compatibility between mods is then possible through the use of patches, which are made to address incompatibilities between specific mods, and through the use of Wrye Bash, which can create a Bashed Patch that allows you to select between types of changes for different mods. For example, two mods change a piece of armour, but one changes how it looks and the other changes its effectiveness: through load order alone you could only ever get one change, but using Wrye Bash you can get both, because they change different things in the same armour entry.

There are a few hardcoded rules that trump load order in many cases:

A plugin's position in the load order is often displayed by mod managers as a hexadecimal number, from 00 to FE (0 to 255 in decimal). The plugin with position 00 loads first, and the plugin with position FE is loaded last. Hexadecimal numbers are used to display the load order positions of plugins because these numbers form the first two digits of the code that the game uses to reference the entries that the plugin adds, so knowing the numbers allows modders and mod users to determine from which plugin an entry is from.

That's all that you as a mod user need to know about load orders. If you want to find out more about the actual mechanism by which the game decides the load order, read on.

Oblivion, Fallout 3 and Fallout: New Vegas all share the same mechanism for deciding load order. Skyrim, since the 1.4.26 patch, uses a different mechanism.

Load order for Oblivion, Fallout 3 and Fallout: New Vegas is decided by the modification date timestamps of the mod plugins. The active plugin with the earliest date loads first, with plugins being listed in descending date order (earliest to latest). It's a bad idea for a plugin that isn't the game's main master file to load first.

Skyrim's mechanism uses the order that plugins are listed within its plugins.txt file as its load order (from top to bottom). This file is the one in which the list of active plugins is stored, so only active plugins can be strictly said to have a load order.

Dirty Edits, Mod Cleaning & CRCs

Dirty edits are often a side-effect of mod creation, and are often due to bugs in the utilities Bethesda has provided to create mods, rather than bad practice by mod authors. Dirty edits can cause a wide range of issues, including incorrect game settings, missing content, broken quests and crashing to desktop. The more dirty edits there are in a mod, and the more mods with dirty edits you use, the more likely you are to experience issues.

Thankfully there is a way to remove dirty edits from mods relatively easily, a process known as mod cleaning, using TES4Edit (for Oblivion), FO3Edit (for Fallout 3), FNVEdit (for Fallout: New Vegas) or TES5Edit (for Skyrim). A detailed set of instructions and information on mod cleaning can be found on the CS Wiki's TES4Edit Cleaning Guide (the page also largely applies to Fallout 3, Fallout: New Vegas and Skyrim). Wrye *ash can also scan plugins for dirty edits and return their ITM and UDR counts, though at the time of writing it cannot clean plugins itself.

The problem of dirty edits is largely a problem of ignorance on the part of mod authors and users alike of the problems dirty mods can cause. As such, there are community efforts to raise awareness of dirty edits and cleaning. BOSS plays a key role in these efforts, as it holds the complete list of all known dirty mods, and it uses this information to provide notification messages to users for any dirty mods they have installed. There are three key pieces of information that are used to accurately describe and identify an unclean mod. They are:

However, not all unclean mods have all or any of these pieces of information. For unclean mods whose ITM and UDR counts have not been reported, BOSS cannot give them. For unclean mods whose CRCs have not been reported, BOSS cannot give precise notification and so prints a message whether or not the user has cleaned their mod.

BOSS and the modding communities rely on user contribution of this information to progress. For information on how to contribute, see the Contributing To BOSS section below. If you find that a mod is dirty, you should also report this to the mod's author so that they can fix it.

Note: TES4Edit et al. will include a variety of junk records in the ITM count for a plugin, such as new empty cells that are automatically generated by the Construction Set and are almost impossible to remove. These junk records are non-harmful, and BOSS will inform users when a mod contains these to avoid confusion. This is also the source of any discrepancies between the counts produced by TES4Edit and those produced by Wrye *ash. The latter's counts are more technically accurate, but both are acceptable for use.

There is also another type of unnecessary edit, known as a wild edit, that can also cause problems. These edits are neither Identical To Master edits nor deleted records, so cannot be automatically cleaned. Cleaning must be manually done in TES4Edit/FO3Edit/FNVEdit. BOSS can still check for plugins with these edits if the CRCs of the plugins with wild edits are known, and it can provide notification of these edits and some information on fixing them if they are reported in an official BOSS thread.

File Permissions

If you are running Windows Vista or a later version of Windows, BOSS (and other modding programs) may be prevented from working correctly by the UAC security feature. There are four common workarounds to this problem:

  1. Install the game outside the Program Files (or Program Files (x86) if on 64-bit Windows). UAC prevents unauthorised edits to these folders, so by installing the game outside of them, you remove it from UAC's reach, allowing you to use mods more easily.
  2. Deactivate UAC. This can be done from the Control Panel, and will turn UAC off across the whole of your computer. It is up to you whether you feel that you have adequate security measures in place to do this without risk.
  3. Give yourself Full Control permissions over your game install folder. This will allow you to make any edits you desire while keeping UAC active and on guard for any edits made by programs you do not run, and also means that you do not need to reinstall your game to a new location.
  4. Run BOSS as an Administrator. Right-click the BOSS executable, or the shortcut if launching from a shortcut, and select Run as administrator.

For those that wish to take the third option and give themselves Full Control permissions, here is a guide:

  1. Right-click the folder you wish to change the permissions for, and select Properties.
  2. In Properties, select the Security tab, and click the Edit... button. A UAC prompt may appear, simply allow yourself to continue.
  3. In the Group or user names box, select the Users option.
  4. In the lower box, check the box opposite Full Control in the Allow column. Press OK to exit. If a UAC prompt appears, allow the change.
  5. In the Properties window, select OK to exit. You should now have Full Control permissions over your chosen folder.

Version History

Only the history of version 3 is given, as changes prior to version 3 are irrelevant due to the complete redesign that occurred. The masterlists are updated far too frequently for their changes to be concisely recorded here, but a full history of changes to them may be viewed by browsing the Google Code repository.

3.0.0 - Day Month 2012